# { "data": {"name":"Request", "version":"v1"} }
type Request {
    content: String
};

# { "data": {"name":"Response", "version":"v1"} }
type Response {
    content: String
};

# { "service": {"name":"EchoService", "version":"v1"} }
type Service interface {
    echo: rpc::Method[Request,Response]
};
# { "data": {"name":"Argument", "version":"v1"} }
type Service@Argument {
     verbose: Bool
};

export const DefaultServerBackend: rpc::ServerBackend :=
    { rpc::ServerCleartext { network: 'tcp', addr: '127.0.0.1:8001' } };

export const DefaultClientBackend: rpc::ClientBackend :=
    { rpc::ClientCleartext { network: 'tcp', addr: '127.0.0.1:8001' } };


